package com.shrcl.engineerprocess.domain;

import com.shrcl.engineerprocess.domain.EngineerCertification;
import com.shrcl.engineerprocess.domain.EngineerNotitableTaskExtension;
import com.shrcl.engineerprocess.domain.impl.UpdateEngineerCertificationTaskImpl;
import com.shrcl.engineerprocess.domain.proxy.UpdateEngineerCertificationTaskProxy;
import edu.fudan.mylang.pf.EntityImplementation;

@EntityImplementation(implementBy = UpdateEngineerCertificationTaskImpl.class)
public interface UpdateEngineerCertificationTask extends EngineerNotitableTaskExtension {
  public abstract EngineerCertification getEngineerCertification();
  
  public abstract UpdateEngineerCertificationTask setEngineerCertification(final EngineerCertification engineerCertification);
  
  public abstract String getTaskType();
  
  public abstract String getTaskName();
  
  public abstract String getTaskDescription();
  
  public abstract void performCommit();
  
  public abstract void performRenew();
  
  public abstract void performReject();
  
  public abstract UpdateEngineerCertificationTaskProxy toProxy();
}
